<?php

namespace Kunfeng\Dify\Client;

use Kunfeng\Dify\Client\DifyChatClientInterface;
use Kunfeng\Dify\Client\DifyCompletionClientInterface;
use Kunfeng\Dify\Client\DifyWorkflowClientInterface;
use Kunfeng\Dify\Client\DifyDatasetsClientInterface;
use Kunfeng\Dify\Client\DifyChatflowClientInterface;

/**
 * Dify 完整客户端接口
 * 包含所有功能模块的统一接口
 */
interface DifyClientInterface extends DifyBaseClientInterface
{
    /**
     * 获取对话型应用客户端
     */
    public function getChatClient(): DifyChatClientInterface;

    /**
     * 获取文本生成型应用客户端
     */
    public function getCompletionClient(): DifyCompletionClientInterface;

    /**
     * 获取工作流应用客户端
     */
    public function getWorkflowClient(): DifyWorkflowClientInterface;

    /**
     * 获取知识库管理客户端
     */
    public function getDatasetsClient(): DifyDatasetsClientInterface;

    /**
     * 获取工作流编排对话型应用客户端
     */
    public function getChatflowClient(): DifyChatflowClientInterface;
}
